在使用 Gazebo 模擬環境時,除了原本提供的地圖物件,我們仍然需要許多不同的 3D 模型來完善我們的分析。然而在Gazebo 中想要建立較為複雜的模型是十分困難的,因此這次要教的便是,如何透過插件的方式,將已經建立好的3D模型導入 Gazebo 中,以方便我們搭建虛擬環境。
首先我們利用市面上許多各式的 3D 建模軟體建立自己的模型。由於 Gazebo 對於 3D 檔案有格式上的要求,因此在 建完 3D 模型需要將檔案格式轉成 .dae 檔案。線上也有許多免費轉換格式軟體可以使用,因此就算建模軟體預設格 式並不是 .dae 也沒關係。
筆者在這邊推薦使用 Sketchup 作為模型製作軟體,由於它方便且好上手,因此是新手建模的最佳良伴。為了照顧新 手,筆者在這邊就先帶著大家在 Sketchup 中製作模型,若已經熟悉建模軟體的操作可以直接跳到隔天的文章。
首先打開線上版的 Sketchup
大致摸索一下基本的介面操作,不外乎就是拉伸、畫線條。接著搭啦:
將檔案存成 .STL 儲存至電腦上
再利用小熊在線轉檔大師轉成.dae 檔案,就大功告成啦。
STL
STL文件在處理系統中,是用三角網狀格式來表示圖形的一種文件
來源
它的格式架構簡單,常常被大量應用,在許多常見的 3D 模型軟體中,比如筆者使用的 Sketchup ,但也因構架簡單 ,所以只能描繪模型的幾何訊息,不包含材質、顏色、重量,等物理或其他描述資訊。為 CG、CAD、3D 列印機最常使 用之格式。
dae
.dae為純文字表示之 3D 軟體格式,由 xml 的語法所組成,也因如此我們對於.dae 檔案的操控有非常高的自由 度,但因未能設定的參數眾多也加大了它的複雜度,以下為模型示意圖
VisualScenes (視覺資訊與節點相呼應)、Nodes(節點資料)、Geometries(幾何資訊)、 Materials/Effects/Images(材質、圖像資訊)、Controllers(結構訊息)、Animations(動態資料)、 AnimationClips(環境動態資料),常見的例子有 google map,所以相對.stl 來說較為完整,如果可以使用的 話推薦都將模型設定.dae 格式,方便在 gazebo 中模擬更完整。
在 Gazebo 中,其實 .dae 和 .stl 都是可以使用的。但在筆者的經驗中,.dae 檔是較為穩定的(.stl有時候會跑不出來orz)因此,因此筆者都會推薦.dae 檔作為 3D 模型的檔案格式。接著明天就會將我我們製作完成的 3D model 導入至 Gazebo 中,請大家敬請期待!!